package com.Stream;

import java.util.*;
import java.util.stream.Stream;

/**
 * 获取Stream流的方式：数组，集合（Collection集合、Map集合）
 */
public class StreamDemo2 {
    public static void main(String[] args) {
        /** ------------------Collection集合获取流------------------*/
        List<String> list=new ArrayList<>();
        //它会返回一个Stream流对象
        Stream<String> s=list.stream();


        /** ------------------Map集合获取流------------------*/
        //map集合他是键值对，键值对不是一个数据类型，我们不能直接获取Map的stream流
        //我们可以将map转为set，再去获取流对象，或者获取key流对象，或者value流对象
        Map<String,Integer> map=new HashMap<>();
        //1.获取key的stream对象
        Set<String> sets=map.keySet();
        Stream<String> stream = sets.stream();

        //2.获取value的stream流对象
        Collection<Integer> values = map.values();
        Stream<Integer> stream1=map.values().stream();


        //3.map转为set，再去获取流对象
        Set<Map.Entry<String,Integer>>setss=map.entrySet();
        Stream<Map.Entry<String, Integer>> stream2 = setss.stream();



        /** ------------------数组获取流------------------*/
        //数组是没有steam方法的，要使用Arrays工具包
        String []name={"a","b","c"};
        Stream<String> stream3 = Arrays.stream(name);
        //或者使用Stream流的of方法
        Stream<String> name1 = Stream.of(name);
    }
}
